package com.x.crm.model;

import com.x.crm.DocDesc;
import com.x.framework.annotation.MappingColumn;
import com.x.framework.annotation.MappingTable;
import com.x.framework.model.BaseObject;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
@MappingTable(tableName = "CRM_FOLLOW")
public class Follow extends BaseObject{
    @MappingColumn(columnName = "FOLLOW_ID", columnPk = true, columnLength = 32)
    private String followId;
    @DocDesc(value="跟进结果", selective = false)
    @MappingColumn(columnName = "FOLLOW_RESULT")
    private String followResult;
    @DocDesc(value = "跟进人")
    @MappingColumn(columnName = "FOLLOWER_NAME")
    private String followName;
    @DocDesc(value = "跟进说明", selective = false)
    @MappingColumn(columnName = "FOLLOW_REMARK")
    private String followRemark;
    @DocDesc(value = "跟进人的id")
    @MappingColumn(columnName = "FOLLOWER_ID")
    private String followerId;
    @DocDesc(value = "是否到店", selective = false)
    @MappingColumn(columnName = "IS_REACH")
    private Integer isReach;
    @MappingColumn(columnName = "CREATE_TIME")
    private Date createTime;
    @DocDesc("客户级别")
    @MappingColumn(columnName = "CUSTOMER_LEVEL")
    private String customerLevel;
    @DocDesc("客户级别")
    @MappingColumn(columnName = "CUSTOMER_LEVEL_TXT")
    private String customerLevelTxt;
    @DocDesc("预约时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @MappingColumn(columnName = "APPOINTMENT_TIME")
    private Date appointmentTime;
    @DocDesc("下次预约时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @MappingColumn(columnName = "NEXT_FOLLOW_TIME")
    private Date nextFollowTime;
    @DocDesc("成交时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @MappingColumn(columnName = "FIXTURE_TIME")
    private Date fixtureTime;
    @DocDesc("失效时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @MappingColumn(columnName = "LOSE_EFFICACY_TIME")
    private Date loseEfficacyTime;
    @DocDesc("成交车架号")
    @MappingColumn(columnName = "FIXTURE_VIN")
    private String fixtureVIN;
    @DocDesc("成交车辆")
    @MappingColumn(columnName = "FIXTURE_CAR")
    private String fixtureCar;
    @DocDesc("定金")
    @MappingColumn(columnName = "EARNEST")
    private BigDecimal earnest;
    @DocDesc("实际成交价格，单位万元")
    @MappingColumn(columnName = "FIXTURE_PRICE")
    private BigDecimal fixturePrice;
    @DocDesc("意向id")
    @MappingColumn(columnName = "INTENTION_ID")
    private String intentionId;
    @DocDesc("成交车辆图片url")
    @MappingColumn(columnName = "FIXTURE_CAR_PIC")
    private String fixtureCarPic;
    @MappingColumn(columnName = "FOLLOW_STATE")
    private Integer followState;
    @DocDesc("客户ID")
    @MappingColumn(columnName = "CUSTOMER_SHOP_ID")
    private String customerShopId;

    @MappingTable(tableName = "CRM_CUSTOMER_SHOP")
    private CustomerShop customerShop;


    public String getFollowId() {
        return followId;
    }

    public void setFollowId(String followId) {
        this.followId = followId;
    }

    public String getFollowResult() {
        return followResult;
    }

    public void setFollowResult(String followResult) {
        this.followResult = followResult;
    }

    public String getFollowName() {
        return followName;
    }

    public void setFollowName(String followName) {
        this.followName = followName;
    }

    public String getFollowRemark() {
        return followRemark;
    }

    public void setFollowRemark(String followRemark) {
        this.followRemark = followRemark;
    }

    public String getFollowerId() {
        return followerId;
    }

    public void setFollowerId(String followerId) {
        this.followerId = followerId;
    }

    public Integer getIsReach() {
        return isReach;
    }

    public void setIsReach(Integer isReach) {
        this.isReach = isReach;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCustomerLevel() {
        return customerLevel;
    }

    public void setCustomerLevel(String customerLevel) {
        this.customerLevel = customerLevel;
    }

    public String getCustomerLevelTxt() {
        return customerLevelTxt;
    }

    public void setCustomerLevelTxt(String customerLevelTxt) {
        this.customerLevelTxt = customerLevelTxt;
    }

    public Date getAppointmentTime() {
        return appointmentTime;
    }

    public void setAppointmentTime(Date appointmentTime) {
        this.appointmentTime = appointmentTime;
    }

    public Date getNextFollowTime() {
        return nextFollowTime;
    }

    public void setNextFollowTime(Date nextFollowTime) {
        this.nextFollowTime = nextFollowTime;
    }

    public Date getFixtureTime() {
        return fixtureTime;
    }

    public void setFixtureTime(Date fixtureTime) {
        this.fixtureTime = fixtureTime;
    }

    public Date getLoseEfficacyTime() {
        return loseEfficacyTime;
    }

    public void setLoseEfficacyTime(Date loseEfficacyTime) {
        this.loseEfficacyTime = loseEfficacyTime;
    }

    public String getFixtureVIN() {
        return fixtureVIN;
    }

    public void setFixtureVIN(String fixtureVIN) {
        this.fixtureVIN = fixtureVIN;
    }

    public BigDecimal getFixturePrice() {
        return fixturePrice;
    }

    public void setFixturePrice(BigDecimal fixturePrice) {
        this.fixturePrice = fixturePrice;
    }

    public String getIntentionId() {
        return intentionId;
    }

    public void setIntentionId(String intentionId) {
        this.intentionId = intentionId;
    }

    public String getFixtureCar() {
        return fixtureCar;
    }

    public void setFixtureCar(String fixtureCar) {
        this.fixtureCar = fixtureCar;
    }

    public BigDecimal getEarnest() {
        return earnest;
    }

    public void setEarnest(BigDecimal earnest) {
        this.earnest = earnest;
    }

    public String getFixtureCarPic() {
        return fixtureCarPic;
    }

    public void setFixtureCarPic(String fixtureCarPic) {
        this.fixtureCarPic = fixtureCarPic;
    }

    public String getCustomerShopId() {
        return customerShopId;
    }

    public void setCustomerShopId(String customerShopId) {
        this.customerShopId = customerShopId;
    }

    public Integer getFollowState() {
        return followState;
    }

    public void setFollowState(Integer followState) {
        this.followState = followState;
    }

    public CustomerShop getCustomerShop() {
        return customerShop;
    }

    public void setCustomerShop(CustomerShop customerShop) {
        this.customerShop = customerShop;
    }
}
